As rbp says, while the shared name between function name and query name might be intuitive in your mind, and might work under DAO/Access, it might not be intuitive to users that inherit your code, and it might cause other data access libraries or SQL/VBA wizards to get confused by the similar names.
Picture a scenario where you do a simple Find and Replace, because you've changed the query name. You, or your successor, will have to know about, and think hard about the best way to complete the Find/Replace without inadvertently replacing the function names too.
Although modern versions of Access make viewing object categories a little easier, as a database grows, you can end up with hundreds or even thousands of objects. And while the auto-rename feature has existed for a while, it isn't always reliable or accurate, in my experience. So, it pays to settle on a naming convention early in your database's development, as renaming tables and queries later can be troublesome.
Following conventions can be useful in this area, but as long as you are consistent, it should be obvious to new users, reasonably quickly, how the naming conventions work.
Also, prefixes tend to work better than suffixes, as they naturally group similarly purposed objects together when sorting by name.
For example, I like to prefix all of my queries with a "q" to distinguish them from table names in my other queries. I then tend to follow the q with 2-3 letters that identify the type of query, or that identifies the type of object that will use that query.
For example, for queries that are essentially a view based on a table, but that filter out the disabled records, I might have a table called Employees and a query called *qvwEmployees" that is just a view of active employees, and then for a query that gets employee names for a form, I might have a query called qfrmEmployeeNames which gets employee IDs and employee names in ascending order from the qvwEmployees query.
Here are some examples of suggested query prefixes, but you can use your own convention for queries, and even for other object types.
'qvw = Query View of Table(s)
'qdel = DeleteQuery
'qupd = Update Query
'qmak = Make Table
'qapp = Append Query
'qfrm = Query used bu Access Form
'qrpt = Query used by Access Report
'qlk = Query used by a Lookup
'qxl = Query used by Excel user-defined-function
And finally, your code would be more efficient if it used With..End With blocks
Public Function get_assignments(e_id As Long, yr As Integer, wk As Integer) As DAO.Recordset
Dim db As DAO.Database
Set db = CurrentDb
'Here's the queryname with a q-prefix
.Parameters![e_id] = e_id
.Parameters![year] = yr
.Parameters![week] = wk
'This line uses the incorrect function name, as per my comment on original question.
'Set get_assign_projects = .OpenRecordset
Set get_assignments = .OpenRecordset